草庐IT

javascript - ES6 构造函数返回基类的实例?

全部标签

ruby - 是否可以在不调用初始化的情况下实例化 Ruby 类?

有时,当我编写单元测试时,我需要在不调用initialize方法的情况下实例化一个类。例如,当构造函数实例化其他类时,无论如何我都会用stub替换它们。例如:classSomeClassThatIWillTestdefinitialize@client=GoogleAnalyticsClient.new@cache=SuperAdvancedCacheSystem.newend#...end在测试中,我可能会将@client和@cache替换为stub,因此我宁愿从未调用构造函数。有什么黑魔法可以帮助我解决这个问题吗? 最佳答案 当

Ruby:如何更改函数调用中参数的值?

我将如何在ruby​​中实现一个函数,如下所示?change_me!(val)更新:我打算做的是:defchange_me!(val)val=val.chopwhileval.end_with?'#'orval.end_with?'/'end这刚刚结束......change_me!'test#///'=>"test#///" 最佳答案 您的想法是错误的。虽然可以在Ruby中执行此操作,但它会过于复杂。正确的做法是:val.change_me!当然,这取决于您要更改的类别。关键是,按照惯例,带有“!”的方法影响调用它们的类实例。所以

ruby - 如何测试使用 rspec 的 block 的函数

我有一个函数,它接受一个block,打开一个文件,产生并返回:defstart&block.....dosomestuffFile.open("filename","w")do|f|f.write("something")....dosomemorestuffyieldendend我正在尝试使用rspec为其编写测试。我如何stubFile.open以便它将对象f(由我提供)传递给block而不是尝试打开实际文件?像这样的东西:it"shouldtestsomething"domyobject=double("File",{'write'=>true})File.should_rece

ruby - 如何限制同一 Ruby 脚本的并发实例?

在Ruby1.9.x中,不允许我的Ruby脚本再次运行或等待前一个实例完成的简单方法是什么?**我希望避免困惑的文件锁定或进程表检查。有没有类似globalmutex的东西或信号量已经在核心?我研究了原生Mutex但这似乎只适用于一个Ruby进程内的线程,而不适用于不同进程。**稍后我可能会添加超时功能,或者限制为N个实例,或者希望使用多个全局锁(每个系统范围的资源一个,最多只能有一个实例)。 最佳答案 这段非常短的代码将卡住在原地,直到/tmp中以您的脚本命名的锁定文件被独占锁定:File.open("/tmp/#{File.ba

ruby - 列出 Rails Controller 实例变量

我试图列出Controller中的实例变量但想出了irb>HomeController.instance_variable_names=>["@visible_actions","@inheritable_attributes","@controller_path","@action_methods","@_process_action_callbacks"]我在Action上试了一下irb>HomeController.action("index").instance_variable_names=>[]那么Controller实例变量属于什么? 最佳答案

ruby - 如何将实例变量和 HTTParty 发布到使用 OAuth2 的 API

我可以通过以下方式从Oauth2API获取信息:token="TokenIgetfromauthenticatingmyApp"auth="Bearer"+tokenuser=HTTParty.get("APIWebsite",:headers=>{"Authorization"=>auth})我如何将在我的应用程序中生成的内容发布到该API?我有一个实例变量:@contact={"contact":{"name":"JohnDoe"}}我试过这个:token="TokenIgetfromauthenticatingmyApp"auth="Bearer"+tokenuser=HTTPa

ruby-on-rails - Rails,编辑操作不会使用同一模型的许多实例正确填充表单

我是Rails新手,正在做我的第一个项目。另外,英语不是我的母语,所以请多多包涵。我遇到的问题是,我有一个包含同一模型的多个实例的表单,数据创建正确,但当我尝试编辑它时,表单以错误的方式填充。我正在制作一个应用程序来检查是否一切都按照规则进行。要检查的项目在嵌套关联中Chapters->Subchapters->Checks每次提交支票时,都会创建一个CheckRound,并将每张支票的信息单独存储在CheckResults中。CheckRoundshas_many:check_results,inverse_of::check_round,dependent::destroyacce

ruby - Ruby 真的可以用作函数式语言吗?

Ruby真的可以用作函数式语言吗?有哪些好的教程可以教授该语言的这一方面?注意:我真的想使用并坚持使用Ruby作为我的主要语言,所以我现在对转换为YAFL(另一种函数式语言)不感兴趣。我对Ruby的功能方面相对于标准功能语言基线的表现非常感兴趣。谢谢。 最佳答案 是的......有点。Ruby缺乏合理的结构来强制实现不变性。(Object#freeze不算)不变性确实是函数式语言的基石。此外,Ruby的核心库高度面向命令式设计。它的Array和Hash类本质上都是可变的,甚至String也有使非不可变的方法(例如gsub!)。具有讽

ruby-on-rails - 将散列作为函数参数处理

我正在使用RubyonRails3,我正在尝试将散列作为函数参数进行处理。例如,如果我这样声明一个函数:deffunction_name(options={})...end我想向function_name传递一个类似的散列{"key1"=>"value_1","key2"=>"value2","..."=>"..."}然后在函数内部使用它。什么是最佳\常见(Rails)方法?P.S.:我在某处看到了extract_option!方法,但我不知道在哪里可以找到一些文档,也不知道我是否需要这些文档才能实现我的目标。 最佳答案 只需使用您

Ruby 在类外创建实例变量

在任何类定义之外的文件中创建实例变量是什么意思,比如@foo。假设有一个文件test.rb,下面给出了该文件的全部内容。#test.rb@foo="bar"puts@foo它打印"bar",但这是某种包装类中的实例变量吗?使用两个文件进行测试表明有一个main对象,所有内容都包含在其中。这种理解是否正确?a.rb的内容@me=self@a="from-a"b.rb的内容require"./a"@b="from-b"puts@me==self#true(selfreferstothesameobject)putsself.class#Objectputsself.instance_var